#include <defines.h>
      module param
         parameter (N_SGL_DIGITS=6)
         parameter (N_DBL_DIGITS=15)
         parameter (N_INT_ORDER=8)
         parameter (NBS=selected_real_kind(N_SGL_DIGITS))
         parameter (NBD=selected_real_kind(N_DBL_DIGITS))
         parameter (NBI=selected_int_kind(N_INT_ORDER))
#ifdef DBL
         parameter (NBF=NBD)
#else
         parameter (NBF=NBS)
#endif

! constants
         logical TRUE, FALSE           
	   real(NBF) pi,lmr,de3,de5,de15,de25,de35,epsm1,epsm2,epsm3,epsm4,epsm5,epsm6,epsm7,epsm8,epsm10,epsm20,epsm30
	   parameter (pi=3.14159265358979_NBF,lmr=1.e-6_NBF,zero=0._NBF,de3=1./3,de5=1./5,de15=1./15,de25=1./25,de35=1./35)
         parameter (TRUE=.true.,FALSE=.false.)
	   parameter (epsm1=1.e-1_NBF,epsm2=1.e-2_NBF,epsm3=1.e-3_NBF,epsm4=1.e-4_NBF,epsm5=1.e-5_NBF,epsm6=1.e-6_NBF,epsm7=1.e-7_NBF,epsm8=1.e-8_NBF,epsm10=1.e-10_NBF,epsm20=1.e-20_NBF,epsm30=1.e-30_NBF)
!
      type scattering  
        sequence
        real(NBF),pointer :: from(:)
      end type  

      type scatter
        sequence
        real(NBF),pointer :: from(:)
      end type
      
      end module
